#include <Eigen/Core>
#include <iostream>
using namespace Eigen;

template<typename Derived>
void
print_size(const EigenBase<Derived>& b)
{
	std::cout << "size (rows, cols): " << b.size() << " (" << b.rows() << ", " << b.cols() << ")" << std::endl;
}

int
main()
{
	Vector3f v;
	print_size(v);
	// v.asDiagonal() returns a 3x3 diagonal matrix pseudo-expression
	print_size(v.asDiagonal());
}
